home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PNC-LC11.ZIP
/
chat.ppe
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-03-13
|
3KB
|
298 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
Declare Procedure PROC001(Boolean BOOLEAN005)
;------------------------------------------------------------------------------
STRING001 = "@X03"
STRING002 = "@X02"
STRING007 = "1.1"
Print "@X01@POFF@"
STRING003 = TokenStr()
Tokenize STRING003
STRING003 = GetToken()
STRING004 = GetToken()
FreshLine
If ((Upper(Left(STRING004, 1)) == "S") || (Upper(STRING003) == "S")) BOOLEAN002 = 1
If (Exist(STRING003)) Then
DispFile STRING003, 1
ElseIf (Exist(PPEPath() + "CHAT.PCB")) Then
DispFile PPEPath() + "CHAT.PCB", 1
Endif
If (Exist(PPEPath() + "CHAT.CFG")) Then
FOpen 1, PPEPath() + "CHAT.CFG", 0, 3
FGet 1, STRING001
FGet 1, STRING002
FGet 1, STRING004
FGet 1, STRING004
If (Left(Upper(STRING004), 2) == "YE") BOOLEAN004 = 1
FGet 1, STRING004
FGet 1, STRING004
FClose 1
If (Left(Upper(STRING004), 2) == "ON") BOOLEAN003 = 1
Endif
PageOff
RdUNet PcbNode()
WrUNet PcbNode(), "C", UN_Name(), UN_City(), "sysopchat", 0
:LABEL001
STRING003 = ""
STRING004 = ""
While ((STRING003 == "") && (STRING004 == "")) Do
STRING003 = KInkey()
STRING004 = MInkey()
EndWhile
If (STRING003 == Chr(27)) Goto LABEL005
If (((STRING004 == Chr(27)) && (BOOLEAN004 == 1)) || ((STRING004 == Chr(3)) && (BOOLEAN004 == 1))) Goto LABEL006
If (STRING003 == Chr(9)) Then
STRING003 = ""
If (BOOLEAN001 == 0) Then
BOOLEAN001 = 1
Sound 665
Delay 2
Sound 0
Goto LABEL002
Endif
Sound 665
Delay 2
Sound 0
Delay 1
Sound 665
Delay 2
Sound 0
BOOLEAN001 = 0
Endif
:LABEL002
If (STRING003 == Chr(7)) Then
If (BOOLEAN003 == 1) Then
Sound 800
Delay 2
Sound 0
Endif
MPrint STRING003
STRING003 = ""
Endif
If (STRING004 == Chr(7)) Then
If (BOOLEAN003 == 1) Then
Sound 1000
Delay 2
Sound 0
Endif
STRING004 = ""
Endif
If (STRING003 == Chr(8)) Then
Backup 1
Print Space(1)
Backup 1
STRING005 = Left(STRING005, Len(STRING005) - 1)
STRING003 = ""
Endif
If ((STRING004 == Chr(8)) && (BOOLEAN001 == 0)) Then
Backup 1
Print Space(1)
Backup 1
STRING006 = Left(STRING006, Len(STRING006) - 1)
STRING004 = ""
Endif
If (STRING003 == Chr(13)) Then
STRING003 = ""
PrintLn "@POFF@"
STRING005 = ""
Endif
If ((STRING004 == Chr(13)) && (BOOLEAN001 == 0)) Then
STRING004 = ""
PrintLn "@POFF@"
STRING006 = ""
Endif
If ((STRING003 <> "") && (Len(STRING003) == 1)) Then
If (STRING003 == Space(1)) Then
STRING005 = ""
Goto LABEL003
Endif
STRING005 = STRING005 + STRING003
:LABEL003
If ((GetX() > 78) && (Len(STRING005) <= 77)) Then
Print STRING001, Space(1)
PROC001(1)
Endif
If ((GetX() > 78) && (Len(STRING005) >= 77)) Then
Print STRING001, Space(1)
Newline
STRING005 = ""
Endif
Print STRING001, STRING003
STRING006 = ""
Endif
If (((STRING004 <> "") && (BOOLEAN001 == 0)) && (Len(STRING004) == 1)) Then
If (STRING004 == Space(1)) Then
STRING006 = ""
Goto LABEL004
Endif
STRING006 = STRING006 + STRING004
:LABEL004
If ((GetX() > 79) && (Len(STRING006) <= 77)) PROC001(0)
If ((GetX() > 79) && (Len(STRING006) >= 77)) Then
Newline
STRING006 = ""
Endif
Print STRING002, STRING004
STRING005 = ""
Endif
Goto LABEL001
:LABEL005
FreshLine
Newline
If (Exist(PPEPath() + "CHAT.CFG")) Then
STRING004 = ReadLine(PPEPath() + "CHAT.CFG", 3)
FClose -1
If (Left(STRING004, 80) <> Space(80)) Then
DispStr STRING004
FreshLine
Endif
Endif
If (BOOLEAN002 == 1) KbdStuff Chr(27)
End
:LABEL006
FreshLine
Newline
If (Exist(PPEPath() + "CHAT.CFG")) Then
STRING004 = ReadLine(PPEPath() + "CHAT.CFG", 5)
FClose -1
If (Left(STRING004, 80) <> Space(80)) Then
DispStr STRING004
FreshLine
Endif
Endif
If (BOOLEAN002 == 1) KbdStuff Chr(27)
End
;------------------------------------------------------------------------------
Procedure PROC001(Boolean BOOLEAN005)
If (BOOLEAN005 == 1) Then
Backup Len(STRING005)
Print Space(Len(STRING005))
Newline
Print STRING001, STRING005
STRING003 = ""
Else
Backup Len(STRING006)
Print Space(Len(STRING006))
Newline
Print STRING002, STRING006
STRING004 = ""
Endif
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 35 Goto
; 38 Let
; 11 Print
; 2 PrintLn
; 34 If
; 2 DispFile
; 1 FOpen
; 3 FClose
; 6 FGet
; 6 Delay
; 6 Newline
; 1 Tokenize
; 2 KbdStuff
; 2 DispStr
; 1 RdUNet
; 1 WrUNet
; 6 Backup
; 5 FreshLine
; 10 Sound
; 1 MPrint
; 1 PageOff
; 1 EndProc
;
;
; ■ Functions used :
;
; 2 -
; 10 +
; 2 -
; 31 ==
; 4 <>
; 2 <=
; 4 >
; 2 >=
; 26 !
; 12 &&
; 2 ||
; 12 Len(
; 4 Upper()
; 7 Left()
; 10 Space()
; 12 Chr()
; 8 PPEPath()
; 2 PcbNode()
; 2 ReadLine()
; 1 UN_Name()
; 1 UN_City()
; 2 GetToken()
; 5 Exist()
; 1 TokenStr()
; 4 GetX()
; 1 KInkey()
; 1 MInkey()
;
;------------------------------------------------------------------------------
;
; Analysis flags : M
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 25 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------